Embodiments herein generally relate to systems and methods that provide lower resolution/quality images and access to higher resolution/quality images.
In the wake of rapidly increasing demand for network, multimedia, database and other digital capacity, many multimedia coding and storage schemes have evolved. One of the well known file formats for encoding and storing image data is JPEG 2000 (ISO/IEC 15444), incorporated herein by reference, developed by Joint Photographic Experts Group (JPEG) (see David Taubman et al., “JPEG 2000 Image Compression Fundamentals, Standards and Practice”, Kluwer Academic Publishers, 2002, incorporated herein by reference). The JPEG 2000 image file format allows for fragmented codestreams (or image data).
The JPEG 2000 standard allows fragmenting the codestream between one or more files. One feature of the JPX file format, the JPEG2000 extended file format, specified in Part 2 of the JPEG2000 standard, is the ability to fragment a single codestream within a single file or across multiple files. This allows applications to implement such features as: edit an image, resaving the changed tiles to the end of the file; distribute the image across several disks for faster access; distribute the image across the Internet, allowing only certain customers access to the high quality or high resolution portions of the codestream; and reuse of headers from within a codestream across multiple codestreams (to minimize file overhead when storing similar codestreams within the same JPX file).
The JPEG 2000 file format resembles the capabilities offered by tile offsets in a TIFF file. The appropriate TIFF editor can retrieve a tile, edit it, append it to the file and then update the tile offset table so that it points to the revised & edited tile instead of the original tile. The JPEG 2000 image file format uses a similar mechanism, called fragment tables. Like a TIFF offset table, a fragment table contains an offset into the file where the data fragment can be found. Unlike TIFF however, the fragment table may also contain a data reference that points to an external file. This means that the fragment can be in a separate file that is stored locally or remotely. Also, the JPEG2000 fragments may not be tiles, that is non-overlapping rectangular spatial subsets of the image data. JPEG2000 fragments may be other subsets of the image, such as resolution or quality subsets of the image.
Conventional systems store an entire image in one place, since an image is basically one large pile of bits. Until JPEG 2000 came along, there was little or no alternative to going to the same location in memory, on a disk or over the Internet to retrieve any part of the image, no matter how small or large. If only a thumbnail was desired for previewing the full image, it had to be created separately then linked for example to the full size original in case the user wanted to access the entire image.